package org.example;

import java.util.ArrayList;
import java.util.List;

public class test1 {
    public static void main(String[] args) {
        List<String> list=new ArrayList<>();
        list.add("JavaSE");
        list.add("JavaWeb");
        list.add("JavaEE");
        list.add("JVM");
        list.add("测试课程");
        System.out.println( list);
        //获取list中有效元素的个数
        System.out.println(list.size());
        // 获取和设置index位置上的元素，注意index必须介于[0, size)间
        System.out.println(list.get(0));
        list.set(0,"JAVA");
        System.out.println(list.get(0));
        System.out.println( list);
        // 在list的index位置插⼊指定元素，index及后续的元素统⼀往后搬移⼀个位置
        list.add(0,"JAVA2");
        System.out.println(list);
        // 删除指定元素，找到了就删除，该元素之后的元素统⼀往前搬移⼀个位置
        list.remove("JVM");
        System.out.println(list);
        // 删除list中index位置上的元素，注意index不要超过list中有效元素个数,否则会抛出下标越界异常
        list.remove(0);
        System.out.println(list);
        // 检测list中是否包含指定元素，包含返回true，否则返回false
        if (list.contains("JavaEE")){
            list.add("测试课程");
        }
        // 查找指定元素第⼀次出现的位置：indexOf从前往后找，lastIndexOf从后往前找
        list.add("JavaSE");
        System.out.println(list.indexOf("JavaSE"));
        System.out.println(list.lastIndexOf("JavaSE"));
        // 使⽤list中[0, 4)之间的元素构成⼀个新的SubList返回,但是和ArrayList共⽤⼀个elementData数组
        List<String> ret=list.subList(0, 3);
        System.out.println(ret);
        list.clear();
        System.out.println(list);
    }
}
